#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <stdlib.h>

extern char** environ;

int main()
{
  char* myenv[] = {
   "VAL1=111111111111111111111111111111111", 
   "VAL2=222222222222222222222222222222222", 
   "VAL3=333333333333333333333333333333333", 
   "VAL4=444444444444444444444444444444444", 
   "VAL5=555555555555555555555555555555555",
   NULL
  };

  pid_t id = fork();
  if(id == 0)
  {
    execle("mytest.exe", "mytest.exe", NULL, myenv);
  }
  else
  {
    pid_t wid = wait(NULL);
  }
  return 0;
}

//extern char** environ;
//
//int main()
//{
//  const char* my_env = "VALUE2=77777777777777777777777777777777777";
//  putenv(my_env);
//
//  pid_t id = fork();
//  if(id == 0)
//  {
//    execlp("env", "env", NULL);
//    //for(int i = 0; environ[i]; i++)
//    //{
//    //  printf("%d:%s\n", i, environ[i]);
//    //}
//    exit(0);
//  }
//
//  pid_t wid = wait(NULL);
//  return 0;
//}


//int main()
//{
//  printf("hello, %d\n", getpid());
//  sleep(3);
//  execl("./mytest.exe", "mytest.exe", NULL);
//  //execl("/usr/bin/python", "python", "demo.py", NULL);
//  return 0;
//}

//void work()
//{
//  printf("我是一个子进程，我的id是： %d, 我的父进程的id是：%d\n", getpid(), getppid());
//  execl("/usr/bin/ls", "ls", "-a", "-l", NULL);
//  printf("hello world\n");
//}
//
//
//int main()
//{
//  int id = fork();
//  if(id == 0)
//  {
//    work();
//    exit(0);
//  }
//
//  int wid = wait(NULL);
//  if(wid > 0)
//    printf("wait chlid secess, wid: %d\n", wid);
//
//  return 0;
//}




